In multi-tenant database systems, customer organizations (also referred to as “tenants”) may share database resources in one logical database. The databases themselves are typically shared, and each tenant is typically associated with an organization identifier (org ID) column or field that may be used to identify rows or records belonging to each tenant. Each tenant may provide their own custom data, which may include defining custom objects and custom fields, as well as designating one or more custom fields to act as custom index fields. Users of a multi-tenant database system (e.g., a tenant/organization (org) or developers associated with the tenant) may develop applications or platforms that interact or integrate with the multi-tenant database system and utilize data from an associated tenant space. The applications/platforms may obtain data from the associated tenant space to render/display visual representations of relevant tenant data. In some cases, the applications/platforms may utilize tenant data for interacting with clients by, for example, sending messages to various clients/customers of the tenant via the multi-tenant database system. To do so, the applications/platforms may include program code or script(s) that call an application programming interface (API) to create and execute the sending of these messages based on various triggering events.
Management and retention of these messages may become more complex as the tenants/orgs (and their applications/platforms) grow in size, scope, and complexity. With such growth comes the significant challenge of how to effectively and efficiently process and transmit the message to their intended recipients. Typically, requests for generating and sending messages are accumulated in a queue, and processed in a batch-wise and periodic basis. Such solutions may cause several seconds to several minutes of delay between the receipt of a request and the sending of a corresponding message. This delay will likely increase as the tenants/orgs applications/platforms grow in terms of numbers of customers, amount of customer data, and size/scope/complexity of their applications and platforms. It may be difficult for multi-tenant database system operators to quickly and effectively transmit these messages thereby resulting in increased resource overhead and/or user dissatisfaction.